package com.shxy.api.dao.news;

import com.shxy.api.bean.news.CatalogBean;
import com.shxy.api.bean.news.NewsInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 新闻信息访问接口
 */
@Repository
public interface NewsInfoDao extends JpaRepository<NewsInfo, String> {

    /**
     * 根据栏目编号和新闻标题查询新闻
     * @param catalogId 栏目编号
     * @param title 新闻标题
     * @return
     */
    NewsInfo findByCatalogIdAndNewsTitle(String catalogId, String title);

    /**
     * 根据编号删除新闻
     * @param catalogId 栏目编号
     */
    void deleteAllByCatalogId(String catalogId);

    /**
     * 查询栏目下所有新闻
     * @param catalogId 栏目编号
     * @return
     */
    List<NewsInfo> findAllByCatalogId(String catalogId);

    /**
     * 分页查询栏目下所有新闻
     * @param catalogId
     * @param pageable
     * @return
     */
    Page<NewsInfo> findAllByCatalogId(String catalogId, Pageable pageable);

    /**
     * 分页查询栏目列表所有新闻
     * @param catalogs 栏目列表
     * @param pageable 分页信息
     * @return
     */
    Page<NewsInfo> findAllByCatalogIn(List<CatalogBean> catalogs, Pageable pageable);
}
